package com.wsp.apimanagement.service;

import com.wsp.apimanagement.pojo.dto.Result;
import com.wsp.apimanagement.pojo.entity.Module;
import com.wsp.apimanagement.pojo.vo.CircleInfo;
import com.wsp.apimanagement.pojo.vo.ModuleRecord;
import com.wsp.apimanagement.pojo.vo.UserModule;

import java.util.List;

/**
 * Package: com.wsp.apimanagement.service
 * Description： TODO
 *
 * @Author: 巫思平
 * Copyright: Copyright (c) 2020
 * Version: 1
 */
public interface ModuleService {
    /**
     * 根据模块名查找模块
     * @param moduleName 模块名
     * @return 模块
     */
    Module findModuleByName(String moduleName);


    /**
     * 获取全部模块（圈子）
     * @return 全部模块
     */
    Result<List<Module>> getAllModule();

    /**
     * 获取用户打卡了的圈子（模块）
     * @param userId 用户id
     * @return 圈子
     */
    Result<List<UserModule>> getUserModule(long userId);

    /**
     * 拿到圈子打卡记录信息（每页4个）
     * @param moduleId 圈子id
     * @param currentPage 圈子页码
     * @return 圈子打卡记录
     */
    Result<ModuleRecord> getModuleRecord(long moduleId, int currentPage);
}
